﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace DDD {
    /// <summary>
    /// ローダー
    /// </summary>
    /// <remarks>
    /// ローダークラスはDDD専用のシーンファイル(.ddd)をロードします。
    /// 名前はローダーですがセーブもできます。
    /// 現在フォーマットは未定義です。
    /// </remarks>
    public static class Loader {

        /// <summary>
        /// ファイルからロードします
        /// </summary>
        /// <param name="name">ファイル名</param>
        /// <returns>フラットな全Objectの配列</returns>
        public static Object[] Load (string name) {
            return null;
        }

        /// <summary>
        /// メモリからロードします
        /// </summary>
        /// <param name="stream">メモリストリーム</param>
        /// <returns>フラットな全Objectの配列</returns>
        public static Object[] Load (MemoryStream stream) {
            return null;
        }

        /// <summary>
        /// シーンを保存します
        /// </summary>
        /// <remarks>
        /// 指定のルートオブジェクトとそこから辿れる全てのオブジェクト<see cref="Object"/>を
        /// ファイルに書き出します。
        /// </remarks>
        /// <param name="name">保存するファイル名</param>
        /// <param name="root">シーンのルートオブジェクト</param>
        public static void Save (string name, Object root) {
        }

    }
}
